package com.example.demos.mapper;

import com.example.demos.dto.*;
import com.example.demos.entity.Emp;
import com.example.demos.entity.Goods;
import com.example.demos.entity.Store;
import com.example.demos.vo.ChangeQueryListVO;
import com.example.demos.vo.ProcuresInfoVo;
import com.example.demos.vo.StoreAlertVO;
import com.example.demos.vo.StoreManagerVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigInteger;
import java.util.List;

@Mapper
public interface StoreMapper {
    void add(Store store);

    List<Store> select(@Param("name") String name,@Param("empUuid") BigInteger empUuid);
    Store selectone(Integer id);

    void update(Store store);

    int delete(Integer id);
    List<String> selectStoreName();

    List<StoreDetailDTO> getStoreDetailList(StoreDetailQueryDTO storeDetailQueryDTO);

    List<Store> getStoreList();

    List<Goods> getGoodsList();

    List<ChangeRecordDTO> getChangeRecordsList(ChangeListQueryDTO changeListQueryDTO);

    int addInventory(InventoryAddParamsDTO inventoryAddParamsDTO);

    List<ChangeQueryListVO> getInventoryList(InventoryQueryDTO inventoryQueryDTO);

    ChangeQueryListVO getInventoryById(Integer id);

    int editInventoryById(InventoryEditParamsDTO editParamsDTO);

    int deleteInventoryById(Integer id);

    List<StoreAlertVO> getStoreAlertInfo();

    List<ProcuresInfoVo> getProcurers();

    List<StoreManagerVo> getStoreManager();


    List<String> selectStoreNameList(@Param("uuid") BigInteger uuid);

    int selectStoreIsDelete(@Param("id") Integer id);
}
